<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <link href="../../style.css" rel="stylesheet" type="text/css">
    <title>PETSc: Documentation: Changes: 2.3.2</title>
  </head>
  <body>

    <div id="logo">
      <h1>PETSc</h1>
    </div>

    <div id="header">
      <h1><!--begin-->Documentation: Changes: 2.3.2<!--end--></h1>
    </div>

    <hr>

    <div id="sidebar">
      <ul>
        <li><a href="../../index.html">Home</a></li>
        <li><a href="../../download/index.html">Download</a></li>
        <li><a href="../../features/index.html">Features</a></li>
        <li>
          <a href="../../documentation/index.html">Documentation</a>
          <ul>
            <li><a href="../index.html">Manual pages and Users Manual</a></li>
            <li><a href="../referencing.html">Referencing PETSc</a></li>
            <li><a href="../tutorials/index.html">Tutorials</a></li>
            <li><a href="../installation.html">Installation</a> </li>
            <li><a href="../saws.html">SAWs</a></li>
            <li>
              <a href="index.html">Changes</a>
              <ul>
                <li><a href="dev.html">dev</a></li>
                <li><a href="38.html">3.8</a></li>
                <li><a href="37.html">3.7</a></li>
                <li><a href="36.html">3.6</a></li>
                <li><a href="35.html">3.5</a></li>
                <li><a href="34.html">3.4</a></li>
                <li><a href="33.html">3.3</a></li>
                <li><a href="32.html">3.2</a></li>
                <li><a href="31.html">3.1</a></li>
                <li><a href="300.html">3.0.0</a></li>
                <li><a href="233.html">2.3.3</a></li>
                <li><span class="current">2.3.2</span></li>
                <li><a href="231.html">2.3.1</a></li>
                <li><a href="230.html">2.3.0</a></li>
                <li><a href="221.html">2.2.1</a></li>
                <li><a href="220.html">2.2.0</a></li>
                <li><a href="216.html">2.1.6</a></li>
                <li><a href="215.html">2.1.5</a></li>
                <li><a href="213.html">2.1.3</a></li>
                <li><a href="212.html">2.1.2</a></li>
                <li><a href="211.html">2.1.1</a></li>
                <li><a href="21.html">2.1.0</a></li>
                <li><a href="2029.html">2.0.29</a></li>
                <li><a href="2028.html">2.0.28</a></li>
                <li><a href="2024.html">2.0.24</a></li>
                <li><a href="2022.html">2.0.22</a></li>
                <li><a href="2018-21.html">2.0.18-21</a></li>
                <li><a href="2017.html">2.0.17</a></li>
                <li><a href="2016.html">2.0.16</a></li>
                <li><a href="2015.html">2.0.15</a></li>
              </ul>
            </li>
            <li><a href="../bugreporting.html">Bug Reporting</a></li>
            <li><a href="../codemanagement.html">Code Management</a></li>
            <li><a href="../faq.html">FAQ</a></li>
            <li><a href="../license.html">License</a></li>
            <li><a href="../linearsolvertable.html">Linear Solver Table</a></li>
          </ul>
        </li>
        <li><a href="../../publications/index.html">Applications/Publications</a></li>
        <li><a href="../../miscellaneous/index.html">Miscellaneous</a></li>
        <li><a href="../../miscellaneous/external.html">External Software</a></li>
        <li><a href="../../developers/index.html">Developers Site</a></li>
      </ul>
    </div>

    <!--begin-->

    <style type="text/css">
      h2 {
        color: red;
      }

      h4 {
        font-weight: bold;
        text-decoration: underline;
      }
    </style>

    <div id="main">

      <div align="center">
        <h2><a name="CHANGES">CHANGES in PETSc 2.3.2</a></h2>
      </div>

      <h4>General:</h4>

      <ul>
        <li>
          We have a new Semi-Lagrangian advection solver using the method of
          characteristics to the <tt>src/contrib/semiLagrange</tt>, contributed
          by <a href="mailto:katz@ldeo.columbia.edu">Richard Katz</a> and <a
            href="mailto:mspieg@ldeo.columbia.edu">Marc Spiegelman</a> of
          Columbia University. Examples are included.
        </li>

        <li>Added C99 complex support. [check configure changes below]</li>
      </ul>

      <h4>Vec:</h4>
      <h4>Mat:</h4>

      <ul>
        <li>Added MatCreateScatter() and MATSCATTER to easily construct efficient "restriction operators"</li>
        <li>Removed MatConvertRegister() and friends, added (*convertfrom) to Mat function table to replace it</li>
      </ul>

      <h4>PC:</h4>

      <ul>
        <li>
          Added PCGALERKIN and PCGalerkinSetRestriction/Interpolation() to
          allow easy creating of Galerkin-like preconditioners. 
        </li>

        <li> Added PCGetOperatorsSet()</li>
        <li>
          Added support for the KSP/PC to auto-create the Mat(s) for you.
          (Which you usally set with KSP/PCSetOperators()). See manual page for
          KSP/PCGetOperators(). Note this is slightly speculative code
          currently. 
        </li>

        <li>
          PCSetOperators()/KSPSetOperators() now do reference counting on the
          operators you pass in. Current usage will work, however this means
          you NO LONGER need to keep a reference to the operators around until
          the KSP/PC object is destroyed. 
        </li>
      </ul>

      <h4>KSP:</h4>

      <ul>

        <li>
          Added KSPDefaultConvergedSetUIRNorm() and
          -ksp_default_converged_initial_residual_norm to go back to the pre
          PETSc 2.3.1 of determing relative tolerance for convergence. 
        </li>

        <li>Added KSPGetOperatorsSet()</li>
      </ul>

      <h4>config/configure.py:</h4>

      <ul>
        <li>
          Now c++ complex version requires the options'
          '--with-scalar-type=complex --with-clanguage=cxx'. Specyfing only
          '--with-scalar-type=complex' will default to '--with-clanguage=c' i.e
          uses C99 complex support.
        </li>
      </ul>

      <h4>SNES:</h4>

      <ul>
        <li>
          The convergence test functions for SNES now pass the current
          iteration in as the second argument. Also the convergence test
          routine is called after the initial function evaluation in SNES but
          before the first Newton step is computed.
        </li>

        <li>Added SNESSetKSP().</li>
      </ul>

      <h4>TS:</h4>
      <h4>DA:</h4>
      <h4>DMMG:</h4>
      <h4>SYS:</h4>

      <ul>
        <li>Removed PetscRandomType from the prototype of PetscRandomCreate().</li>
        <li>Added PetscRandomSetType(), PetscRandomGetValueReal() and PetscRandomGetValueImaginary().</li>

        <li>
          Replaced RANDOM_DEFAULT, RANDOM_DEFAULT_REAL and
          RANDOM_DEFAULT_IMAGINARY, the type of random numbers, with
          PETSCRAND48, PETSCRAND etc.
        </li>
      </ul>

      <h4>AO:</h4>

      <ul>
        <li>AODATA object and associated routines are now depricated and scheduled for future removal</li>
      </ul>

      <h4>Fortran:</h4>

      <h4><a href="http://www.mcs.anl.gov/petsc/miscellaneous/external.html">ExternalPackages</a>:</h4>

      <ul>
        <li>SPRNG support added.</li>
      </ul>

    </div>

    <!--end-->

    <hr>

  </body>
</html>
